package com.mrobuy.jdvc.entity;

import com.gavel.annotation.FieldMeta;
import com.gavel.annotation.TableMeta;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@TableMeta(name = "VC_PRODUCT", title = "京东商品")
public class VCProduct {

    @FieldMeta(name = "ID", title = "ID", length = 32, primary = true)
    private String id;

    @FieldMeta(name = "APPLYID", title = "申请编码", length = 64)
    private String applyid;

    @FieldMeta(name = "WAREID", title = "JD商品编号", length = 64)
    private String wareId;

    @FieldMeta(name = "NAME", title = "名称", length = 128)
    private String name;

    @FieldMeta(name = "SUBMIT_TIME", title = "提交时间", length = 20)
    private String submitTime;

    @FieldMeta(name = "STATE", title = "状态")
    private Integer state;

    @FieldMeta(name = "CID1", title = "第一分类ID(三级分类)", length = 20)
    private String cid1;

    @FieldMeta(name = "CIDNAME1", title = "第一分类名称", length = 20)
    private String cidName1;

    @FieldMeta(name = "LEAFCID", title = "末级分类", length = 20)
    private String leafcid;

    @FieldMeta(name = "BRANDID", title = "品牌ID", length = 20)
    private String brandid;

    @FieldMeta(name = "BRANDNAME", title = "品牌名称", length = 20)
    private String brandName;

    @FieldMeta(name = "ZHBRAND", title = "中文品牌", length = 50)
    private String zhbrand;

    @FieldMeta(name = "ENBRAND", title = "英文品牌", length = 50)
    private String enbrand;

    @FieldMeta(name = "MODEL", title = "商品型号", length = 50)
    private String model;

    @FieldMeta(name = "TEL", title = "服务电话", length = 50)
    private String tel;

    @FieldMeta(name = "WEBSITE", title = "官方网址", length = 256)
    private String website;

    @FieldMeta(name = "ORIGINALPLACE", title = "产地", length = 20)
    private String originalplace;   // 中国大陆

    @FieldMeta(name = "WARRANTY", title = "质保", length = 20)
    private String warranty;    // 年质保	质保（最多可输入6个汉字）

    @FieldMeta(name = "SHELFLIFE", title = "保质期", length = 8)
    private String shelflife;    // 	365	保质期(单位：天)

    @FieldMeta(name = "SALERCODE", title = "销售员简码", length = 20)
    private String salercode;

    @FieldMeta(name = "SALERNAME", title = "销售员", length = 30)
    private String salerName;

    @FieldMeta(name = "PURCHASERCODE", title = "采购员简码", length = 20)
    private String purchasercode;

    @FieldMeta(name = "PURCHASERNAME", title = "采购员", length = 30)
    private String purchaserName;

    @FieldMeta(name = "PACKING", title = "包装规格", length = 20)
    private String packing; // 包装规格（[1×N]请填写N的值）

    @FieldMeta(name = "PACKTYPE", title = "特殊属性", length = 8)
    private String packtype; // 特殊属性（1:普通商品，2:易碎品，3:裸装液体，4:带包装液体，5:按原包装出库）

    @FieldMeta(name = "SKUUNIT", title = "销售单位", length = 8)
    private String skuunit; // 箱	销售单位（必须为VC接口提供的销售单位）

    @FieldMeta(name = "PKGINFO", title = "包装清单", length = 256)
    private String pkginfo; // USB线 × 1	包装清单（格式：USB线 × 1、AV线 × 1、配带 × 1、说明书 × 1、保修卡 × 1 ，最多可录入20000个字符）


    @FieldMeta(name = "INTROHTML", title = "PC 端商品介绍", length = 10000)
    private String introhtml;    // 	PC端代码录入的商品介绍

    @FieldMeta(name = "INTROMOBILE", title = "Mobile 端商品介绍", length = 10000)
    private String intromobile;    // 	Mobile端代码录入的商品介绍

    @FieldMeta(name = "INTRO", title = "商品介绍", length = 10000)
    private String intro;    // 	PC端代码录入的商品介绍

    @FieldMeta(name = "VIDEOID", title = "视频介绍编号", length = 20)
    private String videoid;    // 	视频介绍编号

    @FieldMeta(name = "DANGERVALUE", title = "危险品的值", length = 20)
    private String dangervalue;    // 	danger_value	Number[]	否	1	危险品的值

    @FieldMeta(name = "SYSP", title = "试用品标识", length = 8)
    private String sysp;    // 	试用品标识[0:否 1:是]

    @FieldMeta(name = "STOREPROPERTY", title = "冷链标记", length = 8)
    private String storeproperty;    // 	冷链标记（1：控温（10 -18℃）;2：冷藏（0-8 ℃）;3：冷冻（零下12- 零下18 ℃）;4：深冷（零下30 ℃ ）;6:产地直送;7：鲜品（冷藏存常温配）;0或null：未设置）


    @FieldMeta(name = "PRODUCTOILNUMBER", title = "成品油容量", length = 20)
    private String productoilnumber;    // 	成品油容量(正数，如果填写小数，小数位数长度不能超过6位)

    @FieldMeta(name = "PRODUCTOILUNIT", title = "成品油容量", length = 20)
    private String productoilunit;    // 	成品油单位[大写的'L'(升)或者大写的'T'(吨)]

    @FieldMeta(name = "GIFTSGOODS", title = "成品油容量", length = 8)
    private String giftsgoods;    // 	赠品标识[0:否 1:是不可销售 2：是可销售]

    @FieldMeta(name = "DESIGNCONCEPT", title = "设计理念", length = 2000)
    private String designconcept;    // 	设计理念	设计理念


    @FieldMeta(name = "HASTRANSFERELECCODE", title = "是否需要电子监管码", length = 8)
    private String hastransfereleccode;    // 	是否需要电子监管码[0:不需要 1:需要]

    @FieldMeta(name = "AFTERSALEDESC", title = "售后保障", length = 8)
    private String aftersaledesc;    // 	售后保障图文详情字符串

    @FieldMeta(name = "WREADME", title = "规格参数手工录入文本", length = 100)
    private String wreadme;    // 	鞋品材料：橡胶	规格参数手工录入文本

    @FieldMeta(name = "TYPE", title = "资质类型", length = 100)
    private String type;    // 	-type	Number[]	否	2	资质类型

    @FieldMeta(name = "APPLICANT", title = "3c证书委托人", length = 1000)
    private String applicant;    // 	-applicant	String[]	否	京东商城	3c证书委托人

    @FieldMeta(name = "QCCODE", title = "3c证书编号", length = 1000)
    private String qccode;    // 	qc_code	String[]	否	123223445	3c证书编号

    @FieldMeta(name = "ENDDATE", title = "资质到期日期", length = 1000)
    private String enddate;    // -end_date	Date[]	否	2016/8/9	资质到期日期

    // // -file_key_list	String[]	否	52c81484-7941-4017-a40b-d116d3b117a4.txt;52c81484-7941-4017-a40b-d116d3b117a4.txt	资质文件key列表，多个key中间用英文分号[;]进行分隔
    @FieldMeta(name = "FILEKEYLIST", title = "资质文件key列表", length = 1000)
    private String filekeylist;


    //  PRODUCT 原始数据属性
    @FieldMeta(name = "ORIGINALCODE", title = "原始数据", length = 20)
    private String originalCode;

    @FieldMeta(name = "ORIGINALBRAND", title = "原始品牌", length = 20)
    private String originalBrand;

    @FieldMeta(name = "ORIGINALCATEGORY", title = "原始类目", length = 20)
    private String originalCategory;

    @FieldMeta(name = "ORIGINALCATEGORYDESC", title = "类目描述", length = 100)
    private String originalCategoryDesc;

    @FieldMeta(name = "TASKID", title = "任务ID", length = 32)
    private String taskid;

    @FieldMeta(name = "VENDORCODE", title = "供应商简码", length = 30)
    private String vendorCode;

    @FieldMeta(name = "VENDORNAME", title = "供应商名称", length = 50)
    private String vendorName;


    private List<VCItem> vcItems = new ArrayList<>();

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getApplyid() {
        return applyid;
    }

    public void setApplyid(String applyid) {
        this.applyid = applyid;
    }

    public String getWareId() {
        return wareId;
    }

    public void setWareId(String wareId) {
        this.wareId = wareId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(String submitTime) {
        this.submitTime = submitTime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getCid1() {
        return cid1;
    }

    public void setCid1(String cid1) {
        this.cid1 = cid1;
    }

    public String getCidName1() {
        return cidName1;
    }

    public void setCidName1(String cidName1) {
        this.cidName1 = cidName1;
    }

    public String getLeafcid() {
        return leafcid;
    }

    public void setLeafcid(String leafcid) {
        this.leafcid = leafcid;
    }

    public String getBrandid() {
        return brandid;
    }

    public void setBrandid(String brandid) {
        this.brandid = brandid;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getZhbrand() {
        return zhbrand;
    }

    public void setZhbrand(String zhbrand) {
        this.zhbrand = zhbrand;
    }

    public String getEnbrand() {
        return enbrand;
    }

    public void setEnbrand(String enbrand) {
        this.enbrand = enbrand;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        this.website = website;
    }

    public String getOriginalplace() {
        return originalplace;
    }

    public void setOriginalplace(String originalplace) {
        this.originalplace = originalplace;
    }

    public String getWarranty() {
        return warranty;
    }

    public void setWarranty(String warranty) {
        this.warranty = warranty;
    }

    public String getShelflife() {
        return shelflife;
    }

    public void setShelflife(String shelflife) {
        this.shelflife = shelflife;
    }

    public String getSalercode() {
        return salercode;
    }

    public void setSalercode(String salercode) {
        this.salercode = salercode;
    }

    public String getSalerName() {
        return salerName;
    }

    public void setSalerName(String salerName) {
        this.salerName = salerName;
    }

    public String getPurchasercode() {
        return purchasercode;
    }

    public void setPurchasercode(String purchasercode) {
        this.purchasercode = purchasercode;
    }

    public String getPurchaserName() {
        return purchaserName;
    }

    public void setPurchaserName(String purchaserName) {
        this.purchaserName = purchaserName;
    }

    public String getPacking() {
        return packing;
    }

    public void setPacking(String packing) {
        this.packing = packing;
    }

    public String getPacktype() {
        return packtype;
    }

    public void setPacktype(String packtype) {
        this.packtype = packtype;
    }

    public String getSkuunit() {
        return skuunit;
    }

    public void setSkuunit(String skuunit) {
        this.skuunit = skuunit;
    }

    public String getPkginfo() {
        return pkginfo;
    }

    public void setPkginfo(String pkginfo) {
        this.pkginfo = pkginfo;
    }

    public String getIntrohtml() {
        return introhtml;
    }

    public void setIntrohtml(String introhtml) {
        this.introhtml = introhtml;
    }

    public String getIntromobile() {
        return intromobile;
    }

    public void setIntromobile(String intromobile) {
        this.intromobile = intromobile;
    }

    public String getVideoid() {
        return videoid;
    }

    public void setVideoid(String videoid) {
        this.videoid = videoid;
    }

    public String getDangervalue() {
        return dangervalue;
    }

    public void setDangervalue(String dangervalue) {
        this.dangervalue = dangervalue;
    }

    public String getSysp() {
        return sysp;
    }

    public void setSysp(String sysp) {
        this.sysp = sysp;
    }

    public String getStoreproperty() {
        return storeproperty;
    }

    public void setStoreproperty(String storeproperty) {
        this.storeproperty = storeproperty;
    }

    public String getProductoilnumber() {
        return productoilnumber;
    }

    public void setProductoilnumber(String productoilnumber) {
        this.productoilnumber = productoilnumber;
    }

    public String getProductoilunit() {
        return productoilunit;
    }

    public void setProductoilunit(String productoilunit) {
        this.productoilunit = productoilunit;
    }

    public String getGiftsgoods() {
        return giftsgoods;
    }

    public void setGiftsgoods(String giftsgoods) {
        this.giftsgoods = giftsgoods;
    }

    public String getDesignconcept() {
        return designconcept;
    }

    public void setDesignconcept(String designconcept) {
        this.designconcept = designconcept;
    }

    public String getHastransfereleccode() {
        return hastransfereleccode;
    }

    public void setHastransfereleccode(String hastransfereleccode) {
        this.hastransfereleccode = hastransfereleccode;
    }

    public String getAftersaledesc() {
        return aftersaledesc;
    }

    public void setAftersaledesc(String aftersaledesc) {
        this.aftersaledesc = aftersaledesc;
    }

    public String getWreadme() {
        return wreadme;
    }

    public void setWreadme(String wreadme) {
        this.wreadme = wreadme;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getApplicant() {
        return applicant;
    }

    public void setApplicant(String applicant) {
        this.applicant = applicant;
    }

    public String getQccode() {
        return qccode;
    }

    public void setQccode(String qccode) {
        this.qccode = qccode;
    }

    public String getEnddate() {
        return enddate;
    }

    public void setEnddate(String enddate) {
        this.enddate = enddate;
    }

    public String getFilekeylist() {
        return filekeylist;
    }

    public void setFilekeylist(String filekeylist) {
        this.filekeylist = filekeylist;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getOriginalCode() {
        return originalCode;
    }

    public void setOriginalCode(String originalCode) {
        this.originalCode = originalCode;
    }

    public String getOriginalBrand() {
        return originalBrand;
    }

    public void setOriginalBrand(String originalBrand) {
        this.originalBrand = originalBrand;
    }

    public String getOriginalCategory() {
        return originalCategory;
    }

    public void setOriginalCategory(String originalCategory) {
        this.originalCategory = originalCategory;
    }

    public String getOriginalCategoryDesc() {
        return originalCategoryDesc;
    }

    public void setOriginalCategoryDesc(String originalCategoryDesc) {
        this.originalCategoryDesc = originalCategoryDesc;
    }

    public String getTaskid() {
        return taskid;
    }

    public void setTaskid(String taskid) {
        this.taskid = taskid;
    }

    public List<VCItem> getVcItems() {
        return vcItems;
    }

    public void setVcItems(List<VCItem> vcItems) {
        this.vcItems = vcItems;
    }

    public String getVendorCode() {
        return vendorCode;
    }

    public void setVendorCode(String vendorCode) {
        this.vendorCode = vendorCode;
    }

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName;
    }
}
